<?php
require '../main.php';
//lista de extensiones correctas
$extensiones_permitidas = array(
'jpg','jpeg','png','gif','bmp'
);
//organizamos nuestro codigo para evitar confusiones entre funciones
class Mensajes_upload
{
//el constructor siempre se invoka aprovechamos para enviar codigo JS necesario
	public function __construct()
	{
		echo <<<JS
	var BOTON = parent.$('#boton_carga_receta');
	parent.$('#boton_carga_receta').attr('value',"Cargar Receta").removeAttr("disabled");
	parent.$('#upload_control #progreso').attr('style','background-image:none;visibility:visible');
JS;
	}
//error cuando la extension del archivo es incorrecto
	public function error_soporte_extension($archivo,$extension)
	{
		$msg = "la extension [$extension] no es soportado, solo se permite ". implode(' , ',$GLOBALS['extensiones_permitidas'] );
		die(<<<JS
	parent.$('#upload_control #progreso span').text('$msg');
JS
);
	}
//mensaje cuando todo esta bien
	public function success($archivo)
	{
		die(<<<JS
	parent.$('#upload_control #progreso span').text('Su Imagen Ya esta Subida');
	parent.$('#image_input').attr('value','$archivo').attr('readonly','readonly');
	parent.UPLOAD_BLUEBERG.complete_upload();
JS
);
	}
//cuando hacemos un DIE() automaticamente se llama al __destruct
	public function __destruct()
	{
		echo "\n".'</script>';
	}
}
?>
<script type="text/javascript" id="iframe_upload">
<?php
//instanciamos nuestras funciones estrella
$JAVASCRIPT = new Mensajes_upload();
//comprobamos que exista la sesion y el archivo
if(!empty($_FILES['archivo']) && !empty($_SESSION['upload_php']))
{
	//acortamos la variable por referencia asi es como poner un alias a la variable
	$_S = & $_SESSION['upload_php'];
	//OBTENEMOS LA EXTENSION DEL ARCHIVO
	$extension = pathinfo($_FILES['archivo']['name'],PATHINFO_EXTENSION);
	//verificamos que el archivo sea de una extension accesible
	if(!in_array(strtolower($extension), $extensiones_permitidas))
	{
		//mostramos nuestro mensaje de error
		$JAVASCRIPT->error_soporte_extension($_FILES['archivo']['name'],$extension);
	}
	//en caso de que la carpeta de temporales no exista se la crea
	if(!is_dir(BASE_PATH ."/TEMP"))
	{
		mkdir(BASE_PATH ."/TEMP");
	}
	$url_archivo = $_FILES['archivo']['tmp_name'];
	//un nombre unico para hacer referencia al archivo mas tarde
	$name_id = $_S['id_archivo_receta'];
	//hacemos copia del nombre para comprar en el formulario padre
	$_S['archivo_subido'] = $name_id;
	//comprobamos que el archivo fue subido
	if (is_uploaded_file($_FILES['archivo']['tmp_name']))
	{
		//movemos el archivo subido a nuestro directorio de temporales
		if(move_uploaded_file($url_archivo, BASE_PATH ."/TEMP/$name_id"))
		{
			//almacenamos la extension para hacer uso al momento de guardar en la base de datos
			$_S['extension'] = $extension;
			//mostrmoas nuestro mensaje
			$JAVASCRIPT->success($_FILES['archivo']['name']);
		}

	}

	
}
?>
	parent.$('#image_input').attr('value','ira la Imagen que guardaste en la web');
	parent.$('#upload_control #progreso').css('background-image','none');
	parent.$('#upload_control #progreso span').text('Su Imagen Ya esta Subida');
<?php

?>
</script>